]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
panel: Move notification banners below time+date dropdown
authorMeet Parikh <meetprkh.gnome@gmail.com>
Thu, 23 Apr 2015 10:43:03 +0000 (16:13 +0530)
committerFlorian Müllner <fmuellner@gnome.org>
Sat, 25 Apr 2015 07:56:05 +0000 (09:56 +0200)
As notifications appear in the time+date dropdown's message list, there's
a strong relationship between notification banners and the menu. However
while the time+date menu is centered by default, which matches the banner
position, its actual position depends on the session mode - in particular
it is moved to the right in classic mode.
Reinforce the relationship in these cases by moving notification banners
underneath the time+date menu.

https://bugzilla.gnome.org/show_bug.cgi?id=745910

js/ui/messageTray.js
js/ui/panel.js

index 7d2c3c8368b7afe061a450cf62b8d3a8ea902b35..4a949d4b0637890d0eabac957ce3c540db15ed26 100644 (file)
@@ -976,6 +976,14 @@ const MessageTray = new Lang.Class({
         Shell.util_set_hidden_from_pick(this.actor, false);
     },
 
+    get bannerAlignment() {
+        return this._bannerBin.get_x_align();
+    },
+
+    set bannerAlignment(align) {
+        this._bannerBin.set_x_align(align);
+    },
+
     _onNotificationKeyRelease: function(actor, event) {
         if (event.get_key_symbol() == Clutter.KEY_Escape && event.get_state() == 0) {
             this._expireNotification();
index 8e7fa3ea034ac8618c741bef42259f1311ce6211..2a951368f20d206446fdd68c804a88025570e329 100644 (file)
@@ -933,6 +933,14 @@ const Panel = new Lang.Class({
         this._updateBox(panel.center, this._centerBox);
         this._updateBox(panel.right, this._rightBox);
 
+        if (panel.left.indexOf('dateMenu') != -1)
+            Main.messageTray.bannerAlignment = Clutter.ActorAlign.START;
+        else if (panel.right.indexOf('dateMenu') != -1)
+            Main.messageTray.bannerAlignment = Clutter.ActorAlign.END;
+        // Default to center if there is no dateMenu
+        else
+            Main.messageTray.bannerAlignment = Clutter.ActorAlign.CENTER;
+
         if (this._sessionStyle)
             this._removeStyleClassName(this._sessionStyle);